<?php
class inscrito{
	private $id;
	private $nome;
        private $sobrenome;
	private $cpf;
	private $rg;
	private $titulo;
	private $sexo;
	private $nacionalidade;
	private $data_nascimento;
	private $endereco;
	private $numero;
        private $complemento;
	private $bairro;
	private $cidade;
	private $uf;
	private $cep;
	private $telefone;
	private $telefone2;
	private $email;
	private $email2;
	private $dt_cadastro;
	private $hr_cadastro;
	private $pne;
	private $pne_cegueira;
	private $pne_baixa_visao;
	private $pne_surdez_prof;
	private $pne_surdez_leve;
	private $pne_def_fisica;
	private $pne_def_mental;
	private $pne_sind_down;
	private $pne_trans_mental;
	private $aux;
	private $aux_acessibilidade;
	private $aux_leitura_preenchimento;
	private $aux_preenchimento;
	private $aux_esp_cadeira;
	private $aux_esp_andadores;
	private $aux_esp_muletas;
	private $aux_gestante;
	private $aux_pos_parto;

	public function __construct(){
		$this->id = NULL;
		$this->nome = NULL;
                $this->sobrenome = NULL;
		$this->cpf = NULL;
		$this->rg = NULL;
		$this->titulo = NULL;
		$this->sexo = NULL;
		$this->nacionalidade = "Brasileira";
		$this->data_nascimento = NULL;
		$this->endereco = NULL;
		$this->numero = NULL;
                $this->complemento = NULL;
		$this->bairro = NULL;
		$this->cidade = NULL;
		$this->uf = NULL;
		$this->cep = NULL;
		$this->telefone = NULL;
		$this->telefone2 = NULL;
		$this->email = NULL;
		$this->email2 = NULL;
		$this->dt_cadastro = NULL;
		$this->hr_cadastro = NULL;
		$this->pne = 0;
		$this->pne_cegueira = 0;
		$this->pne_baixa_visao = 0;
		$this->pne_surdez_prof = 0;
		$this->pne_surdez_leve = 0;
		$this->pne_def_fisica = 0;
		$this->pne_def_mental = 0;
		$this->pne_sind_down = 0;
		$this->pne_trans_mental = 0;
		$this->aux = 0;
		$this->aux_acessibilidade = 0;
		$this->aux_leitura_preenchimento = 0;
		$this->aux_preenchimento = 0;
		$this->aux_esp_cadeira = 0;
		$this->aux_esp_andadores = 0;
		$this->aux_esp_muletas = 0;
		$this->aux_gestante = 0;
		$this->aux_pos_parto = 0;
	}

	public function get_id(){
		return $this->id;
	}
	public function get_nome(){
		return $this->nome;
	}
        public function get_sobrenome(){
		return $this->sobrenome;
	}
	public function get_cpf(){
		return $this->cpf;
	}
	public function get_rg(){
		return $this->rg;
	}
	public function get_titulo(){
            if($this->titulo){
		return $this->titulo;
            }else{
                return "&nbsp;";
            }
	}
	public function get_sexo(){
		return $this->sexo;
	}
	public function get_nacionalidade(){
		return $this->nacionalidade;
	}
	public function get_data_nascimento(){
            if(strlen($this->data_nascimento) == 10){
		return data_ptbr($this->data_nascimento);
            }else{
                return NULL;
            }
	}
        public function get_array_data_nascimento(){
            if(strlen($this->data_nascimento) == 10){
                $r1 = explode('-', $this->data_nascimento);
                $r2["dia"] = $r1[2];
                $r2["mes"] = $r1[1];
                $r2["ano"] = $r1[0];
		return $r2;
            }else{
                return NULL;
            }
        }
	public function get_endereco(){
            if($this->endereco){
		return $this->endereco;
            }else{
                return "&nbsp;";
            }
	}
	public function get_numero(){
		return $this->numero;
	}
        public function get_complemento(){
            if($this->complemento){
		return $this->complemento;
            }else{
                return "&nbsp;";
            }
	}
	public function get_bairro(){
            if($this->bairro){
		return $this->bairro;
            }else{
                return "&nbsp;";
            }
	}
	public function get_cidade(){
		return $this->cidade;
	}
	public function get_uf(){
		return $this->uf;
	}
	public function get_cep(){
		return $this->cep;
	}
        public function get_array_cep(){
		return explode('-', $this->cep);
	}
	public function get_telefone(){
		return $this->telefone;
	}
        public function get_array_telefone(){
            $array = explode(' ', $this->telefone);
            $r[0] = substr($array[0], 1, (strlen($array[0])-2));
            $array = explode('-', $array[1]);
            foreach ($array as $a){
                if(valida::numero($a)){
                    $r[] = $a;
                }
            }
            
            return $r;
	}
	public function get_telefone2(){
            return $this->telefone2;
            /*
            if($this->telefone2){
		return $this->telefone2;
            }else{
                return "&nbsp;";
            }
            */
	}
        public function get_array_telefone2(){
            $array = explode(' ', $this->telefone2);
            $r[0] = substr($array[0], 1, (strlen($array[0])-2));
            $array = explode('-', $array[1]);
            foreach ($array as $a){
                if(valida::numero($a)){
                    $r[] = $a;
                }
            }
            
            return $r;
	}
	public function get_email(){
		return $this->email;
	}
	public function get_email2(){
            return $this->email2;
            /*
            if($this->email2){
		return $this->email2;
            }else{
                return "&nbsp;";
            }
            */
	}
	public function get_dt_cadastro(){
		return $this->dt_cadastro;
	}
	public function get_hr_cadastro(){
		return $this->hr_cadastro;
	}
	public function get_pne(){
		return $this->pne;
	}
	public function get_pne_cegueira(){
		return $this->pne_cegueira;
	}
	public function get_pne_baixa_visao(){
		return $this->pne_baixa_visao;
	}
	public function get_pne_surdez_prof(){
		return $this->pne_surdez_prof;
	}
	public function get_pne_surdez_leve(){
		return $this->pne_surdez_leve;
	}
	public function get_pne_def_fisica(){
		return $this->pne_def_fisica;
	}
	public function get_pne_def_mental(){
		return $this->pne_def_mental;
	}
	public function get_pne_sind_down(){
		return $this->pne_sind_down;
	}
	public function get_pne_trans_mental(){
		return $this->pne_trans_mental;
	}
	public function get_aux(){
		return $this->aux;
	}
	public function get_aux_acessibilidade(){
		return $this->aux_acessibilidade;
	}
	public function get_aux_leitura_preenchimento(){
		return $this->aux_leitura_preenchimento;
	}
	public function get_aux_preenchimento(){
		return $this->aux_preenchimento;
	}
	public function get_aux_esp_cadeira(){
		return $this->aux_esp_cadeira;
	}
	public function get_aux_esp_andadores(){
		return $this->aux_esp_andadores;
	}
	public function get_aux_esp_muletas(){
		return $this->aux_esp_muletas;
	}
	public function get_aux_gestante(){
		return $this->aux_gestante;
	}
	public function get_aux_pos_parto(){
		return $this->aux_pos_parto;
	}
        public function get_idade(){
            if(strlen($this->data_nascimento) == 10){
                $ano_atual = date("Y");
                $ano = substr($this->data_nascimento, 0, 4);
                $idade = $ano_atual - $ano;
                if($idade >= 15){
                    return 1;
                }else{
                    return 0;
                }
            }else{
                return NULL;
            }
	}
	
	
	public function set_id($id){
		if($id != '' && valida::numero($id)){
                    $this->id = $id;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_nome($nome){
		if($nome != '' && valida::nome(trim($nome))){
                    $this->nome = $nome;
                    return 1;
		}else{
                    return 0;
                }
        }
        
        public function set_sobrenome($nome){
		if($nome != '' && valida::nome(trim($nome))){
                    $this->sobrenome = $nome;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_cpf($cpf){
		if($cpf != '' && valida::cpf($cpf)){
                    $cpf_num = str_replace(array('.','-'),  '', $cpf);
                    $cpf = substr($cpf_num,0,3).'.'.substr($cpf_num,3,3).'.'.substr($cpf_num,6,3).'-'.substr($cpf_num,9);
                    $this->cpf = $cpf;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_rg($rg){
                if(strlen($rg) >= 5){
                    $tmp = '';
                    for($i = 0; $i < strlen($rg); $i++){
                        $c = substr($rg, $i, 1);
                        if(valida::numero($c)){
                            $tmp .= $c;
                        }
                    }
                    $this->rg = $tmp;
                    return 1;
                }else{
                    return 0;
                }
        }

	public function set_titulo($titulo){
                $titulo = addslashes($titulo);
                $this->titulo = $titulo;
                return 1;
        }

	public function set_sexo($sexo){
		if($sexo != '' && valida::numero($sexo)){
                    $this->sexo = $sexo;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_nacionalidade($nacionalidade){
		if(valida::nome($nacionalidade)){
                    $this->nacionalidade = $nacionalidade;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_data_nascimento($data_nascimento){
		if($data_nascimento != '' && valida::data($data_nascimento)){
                    if(substr($data_nascimento, 2, 1) == '/' && substr($data_nascimento, 5, 1) == '/'){
                        $data_nascimento = data_inter($data_nascimento);
                    }
                    if($data_nascimento < date("Y-m-d")){
                        $this->data_nascimento = $data_nascimento;
                        return 1;
                    }else{
                        return 0;
                    }
		}else{
                    return 0;
                }
        }

	public function set_endereco($endereco){
		if(strlen($endereco) > 5 && valida::endereco($endereco)){
                    $this->endereco = $endereco;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_numero($numero){
		if(valida::numero($numero)){
                    $this->numero = $numero;
                    return 1;
		}else{
                    return 0;
                }
        }
        
        public function set_complemento($complemento){
                $complemento = addslashes($complemento);
                $this->complemento = $complemento;
                return 1;
        }

	public function set_bairro($bairro){
		if(valida::nome_num($bairro)){
                    $this->bairro = $bairro;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_cidade($cidade){
		if($cidade != '' && valida::nome($cidade)){
                    $this->cidade = $cidade;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_uf($uf){
		if($uf != '' && valida::nome($uf)){
                    $this->uf = $uf;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_cep($cep){
		if(valida::cep($cep)){
                    $this->cep = $cep;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_telefone($telefone){
		if($telefone != '' && $telefone != "() -" && valida::telefone($telefone)){
                    $this->telefone = $telefone;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_telefone2($telefone2){
		if(valida::telefone($telefone2)){
                    $this->telefone2 = $telefone2;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_email($email){
		if($email == '' || valida::email($email)){
                    $this->email = $email;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_email2($email2){
		if($email2 == '' || valida::email($email2)){
                    $this->email2 = $email2;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_dt_cadastro($dt_cadastro){
		if(valida::data($dt_cadastro)){
                    $this->dt_cadastro = $dt_cadastro;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_hr_cadastro($hr_cadastro){
                $hr_cadastro = addslashes($hr_cadastro);
                $this->hr_cadastro = $hr_cadastro;
                return 1;
        }

	public function set_pne($pne){
		if(valida::numero($pne)){
                    $this->pne = $pne;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_pne_cegueira($pne_cegueira){
		if(valida::numero($pne_cegueira)){
                    $this->pne_cegueira = $pne_cegueira;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_pne_baixa_visao($pne_baixa_visao){
		if(valida::numero($pne_baixa_visao)){
                    $this->pne_baixa_visao = $pne_baixa_visao;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_pne_surdez_prof($pne_surdez_prof){
		if(valida::numero($pne_surdez_prof)){
                    $this->pne_surdez_prof = $pne_surdez_prof;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_pne_surdez_leve($pne_surdez_leve){
		if(valida::numero($pne_surdez_leve)){
                    $this->pne_surdez_leve = $pne_surdez_leve;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_pne_def_fisica($pne_def_fisica){
		if(valida::numero($pne_def_fisica)){
                    $this->pne_def_fisica = $pne_def_fisica;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_pne_def_mental($pne_def_mental){
		if(valida::numero($pne_def_mental)){
                    $this->pne_def_mental = $pne_def_mental;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_pne_sind_down($pne_sind_down){
		if(valida::numero($pne_sind_down)){
                    $this->pne_sind_down = $pne_sind_down;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_pne_trans_mental($pne_trans_mental){
		if(valida::numero($pne_trans_mental)){
                    $this->pne_trans_mental = $pne_trans_mental;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_aux($aux){
		if(valida::numero($aux)){
                    $this->aux = $aux;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_aux_acessibilidade($aux_acessibilidade){
		if(valida::numero($aux_acessibilidade)){
                    $this->aux_acessibilidade = $aux_acessibilidade;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_aux_leitura_preenchimento($aux_leitura_preenchimento){
		if(valida::numero($aux_leitura_preenchimento)){
                    $this->aux_leitura_preenchimento = $aux_leitura_preenchimento;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_aux_preenchimento($aux_preenchimento){
		if(valida::numero($aux_preenchimento)){
                    $this->aux_preenchimento = $aux_preenchimento;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_aux_esp_cadeira($aux_esp_cadeira){
		if(valida::numero($aux_esp_cadeira)){
                    $this->aux_esp_cadeira = $aux_esp_cadeira;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_aux_esp_andadores($aux_esp_andadores){
		if(valida::numero($aux_esp_andadores)){
                    $this->aux_esp_andadores = $aux_esp_andadores;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_aux_esp_muletas($aux_esp_muletas){
		if(valida::numero($aux_esp_muletas)){
                    $this->aux_esp_muletas = $aux_esp_muletas;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_aux_gestante($aux_gestante){
		if(valida::numero($aux_gestante)){
                    $this->aux_gestante = $aux_gestante;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_aux_pos_parto($aux_pos_parto){
		if(valida::numero($aux_pos_parto)){
                    $this->aux_pos_parto = $aux_pos_parto;
                    return 1;
		}else{
                    return 0;
                }
        }

	
	
	public function salvar(){
                if(!$this->id){
                    $sql = "insert into inscrito(nome, sobrenome, cpf, rg, titulo, sexo, nacionalidade, data_nascimento, endereco, numero, complemento, bairro, cidade, uf, cep, telefone, telefone2, email, email2, dt_cadastro, hr_cadastro, pne, pne_cegueira, pne_baixa_visao, pne_surdez_prof, pne_surdez_leve, pne_def_fisica, pne_def_mental, pne_sind_down, pne_trans_mental, aux, aux_acessibilidade, aux_leitura_preenchimento, aux_preenchimento, aux_esp_cadeira, aux_esp_andadores, aux_esp_muletas, aux_gestante, aux_pos_parto) values(\"".$this->nome."\", \"".$this->sobrenome."\", \"".$this->cpf."\", \"".$this->rg."\", \"".$this->titulo."\", \"".$this->sexo."\", \"".$this->nacionalidade."\", \"".$this->data_nascimento."\", \"".$this->endereco."\", \"".$this->numero."\", \"".$this->complemento."\", \"".$this->bairro."\", \"".$this->cidade."\", \"".$this->uf."\", \"".$this->cep."\", \"".$this->telefone."\", \"".$this->telefone2."\", \"".$this->email."\", \"".$this->email2."\", \"".$this->dt_cadastro."\", \"".$this->hr_cadastro."\", \"".$this->pne."\", \"".$this->pne_cegueira."\", \"".$this->pne_baixa_visao."\", \"".$this->pne_surdez_prof."\", \"".$this->pne_surdez_leve."\", \"".$this->pne_def_fisica."\", \"".$this->pne_def_mental."\", \"".$this->pne_sind_down."\", \"".$this->pne_trans_mental."\", \"".$this->aux."\", \"".$this->aux_acessibilidade."\", \"".$this->aux_leitura_preenchimento."\", \"".$this->aux_preenchimento."\", \"".$this->aux_esp_cadeira."\", \"".$this->aux_esp_andadores."\", \"".$this->aux_esp_muletas."\", \"".$this->aux_gestante."\", \"".$this->aux_pos_parto."\")";
                }else{
                    $sql = "update inscrito set id = \"".$this->id."\", nome = \"".$this->nome."\", sobrenome = \"".$this->sobrenome."\", cpf = \"".$this->cpf."\", rg = \"".$this->rg."\", titulo = \"".$this->titulo."\", sexo = \"".$this->sexo."\", nacionalidade = \"".$this->nacionalidade."\", data_nascimento = \"".$this->data_nascimento."\", endereco = \"".$this->endereco."\", numero = \"".$this->numero."\", complemento = \"".$this->complemento."\", bairro = \"".$this->bairro."\", cidade = \"".$this->cidade."\", uf = \"".$this->uf."\", cep = \"".$this->cep."\", telefone = \"".$this->telefone."\", telefone2 = \"".$this->telefone2."\", email = \"".$this->email."\", email2 = \"".$this->email2."\", dt_cadastro = \"".$this->dt_cadastro."\", hr_cadastro = \"".$this->hr_cadastro."\", pne = \"".$this->pne."\", pne_cegueira = \"".$this->pne_cegueira."\", pne_baixa_visao = \"".$this->pne_baixa_visao."\", pne_surdez_prof = \"".$this->pne_surdez_prof."\", pne_surdez_leve = \"".$this->pne_surdez_leve."\", pne_def_fisica = \"".$this->pne_def_fisica."\", pne_def_mental = \"".$this->pne_def_mental."\", pne_sind_down = \"".$this->pne_sind_down."\", pne_trans_mental = \"".$this->pne_trans_mental."\", aux = \"".$this->aux."\", aux_acessibilidade = \"".$this->aux_acessibilidade."\", aux_leitura_preenchimento = \"".$this->aux_leitura_preenchimento."\", aux_preenchimento = \"".$this->aux_preenchimento."\", aux_esp_cadeira = \"".$this->aux_esp_cadeira."\", aux_esp_andadores = \"".$this->aux_esp_andadores."\", aux_esp_muletas = \"".$this->aux_esp_muletas."\", aux_gestante = \"".$this->aux_gestante."\", aux_pos_parto = \"".$this->aux_pos_parto."\" where id = \"$this->id\"";
                }
		
		$db = new db(config::$driver);
 		$con = $db->conecta();
		$res = $db->query($sql, $con);
                if($res && !isset($this->id)){
                    $sql = "SELECT id FROM inscrito WHERE cpf = '".$this->cpf."'";
                    $res = $db->query($sql, $con);
                    $id = $db->fetch_array($res);
                    $this->id = $id[0];
                }
		$db->close($con);
                
                $log = new log($sql);
                unset($log);

		return $res;
	}
        
	public function carregar($cpf){
                $sql = "select * from inscrito where ";
                if(valida::cpf($cpf)){
                    $cpf_num = str_replace(array('.','-'),  '', $cpf);
                    $sql .= "cpf = '$cpf' or cpf = '$cpf_num'";
                }else{
                    $sql .= "id = '$cpf'";
                }
		
		$db = new db(config::$driver);
 		$con = $db->conecta();
		$res = $db->query($sql, $con);
		$db->close($con);

		$inscrito = $db->fetch_array($res);

		$this->id = $inscrito["id"];
		$this->nome = $inscrito["nome"];
                $this->sobrenome = $inscrito["sobrenome"];
		$this->cpf = $inscrito["cpf"];
		$this->rg = $inscrito["rg"];
		$this->titulo = $inscrito["titulo"];
		$this->sexo = $inscrito["sexo"];
		$this->nacionalidade = $inscrito["nacionalidade"];
		$this->data_nascimento = $inscrito["data_nascimento"];
		$this->endereco = $inscrito["endereco"];
		$this->numero = $inscrito["numero"];
                $this->complemento = $inscrito["complemento"];
		$this->bairro = $inscrito["bairro"];
		$this->cidade = $inscrito["cidade"];
		$this->uf = $inscrito["uf"];
		$this->cep = $inscrito["cep"];
		$this->telefone = $inscrito["telefone"];
		$this->telefone2 = $inscrito["telefone2"];
		$this->email = $inscrito["email"];
		$this->email2 = $inscrito["email2"];
		$this->dt_cadastro = $inscrito["dt_cadastro"];
		$this->hr_cadastro = $inscrito["hr_cadastro"];
		$this->pne = $inscrito["pne"];
		$this->pne_cegueira = $inscrito["pne_cegueira"];
		$this->pne_baixa_visao = $inscrito["pne_baixa_visao"];
		$this->pne_surdez_prof = $inscrito["pne_surdez_prof"];
		$this->pne_surdez_leve = $inscrito["pne_surdez_leve"];
		$this->pne_def_fisica = $inscrito["pne_def_fisica"];
		$this->pne_def_mental = $inscrito["pne_def_mental"];
		$this->pne_sind_down = $inscrito["pne_sind_down"];
		$this->pne_trans_mental = $inscrito["pne_trans_mental"];
		$this->aux = $inscrito["aux"];
		$this->aux_acessibilidade = $inscrito["aux_acessibilidade"];
		$this->aux_leitura_preenchimento = $inscrito["aux_leitura_preenchimento"];
		$this->aux_preenchimento = $inscrito["aux_preenchimento"];
		$this->aux_esp_cadeira = $inscrito["aux_esp_cadeira"];
		$this->aux_esp_andadores = $inscrito["aux_esp_andadores"];
		$this->aux_esp_muletas = $inscrito["aux_esp_muletas"];
		$this->aux_gestante = $inscrito["aux_gestante"];
		$this->aux_pos_parto = $inscrito["aux_pos_parto"];
		
		return $res;
	}
        
        static function checaCpf($cpf){
            if(valida::cpf($cpf)){
                $cpf_num = str_replace(array('.','-'),  '', $cpf);
                $sql = "select count(*) from inscrito where cpf = '$cpf' or cpf = '$cpf_num'";
                $db = new db(config::$driver);
                $con = $db->conecta();
                $result = $db->query($sql, $con);
                $db->close($con);
                $insc = $db->fetch_array($result);

                if($insc[0] > 0){
                    return 1;
                }else{
                    return 0;
                }
            }else{
                return 0;
            }
        }
}
?>
